<!DOCTYPE html>
<!-- saved from url=(0044)http://www.cnblogs.com/zy1987/p/3784753.html -->
<html lang="zh-cn"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1">
<title>编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园</title>
<link type="text/css" rel="stylesheet" href="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/blog-common.css">
<link id="MainCss" type="text/css" rel="stylesheet" href="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/bundle-coffee.css">
<link type="text/css" rel="stylesheet" href="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/93310.css">
<link id="mobile-style" media="only screen and (max-width: 767px)" type="text/css" rel="stylesheet" href="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/bundle-coffee-mobile.css">
<link title="RSS" type="application/rss+xml" rel="alternate" href="http://www.cnblogs.com/zy1987/rss">
<link title="RSD" type="application/rsd+xml" rel="EditURI" href="http://www.cnblogs.com/zy1987/rsd.xml">
<link type="application/wlwmanifest+xml" rel="wlwmanifest" href="http://www.cnblogs.com/zy1987/wlwmanifest.xml">
<script async="" src="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/analytics.js.下载"></script><script src="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/jquery-2.2.0.min.js.下载"></script>
<script type="text/javascript">var currentBlogApp = 'zy1987', cb_enable_mathjax=false;var isLogined=false;</script>
<script src="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/blog-common.js.下载" type="text/javascript"></script>
</head>
<body>
<a name="top"></a>

<!--done-->
<div id="home">
<div id="header">
	<div id="blogTitle">
	<a id="lnkBlogLogo" href="http://www.cnblogs.com/zy1987/"><img id="blogLogo" src="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/logo.gif" alt="返回主页"></a>			
		
<!--done-->
<h1><a id="Header1_HeaderTitle" class="headermaintitle" href="http://www.cnblogs.com/zy1987/">挽弓挽长</a></h1>
<h2>淡泊明志 宁静致远</h2>



		
	</div><!--end: blogTitle 博客的标题和副标题 -->
</div><!--end: header 头部 -->

<div id="main">
	<div id="mainContent">
	<div class="forFlow">
		<div id="navigator">
			
<ul id="navList">
	<li><a id="blog_nav_sitehome" class="menu" href="http://www.cnblogs.com/">博客园</a></li>
	<li><a id="blog_nav_myhome" class="menu" href="http://www.cnblogs.com/zy1987/">首页</a></li>
	<li><a id="blog_nav_newpost" class="menu" rel="nofollow" href="https://i.cnblogs.com/EditPosts.aspx?opt=1">新随笔</a></li>
	<li><a id="blog_nav_contact" accesskey="9" class="menu" rel="nofollow" href="https://msg.cnblogs.com/send/%E6%8C%BD%E5%BC%93%E6%8C%BD%E9%95%BF">联系</a></li>
	<li><a id="blog_nav_admin" class="menu" rel="nofollow" href="https://i.cnblogs.com/">管理</a></li>
	<li><a id="blog_nav_rss" class="menu" href="http://www.cnblogs.com/zy1987/rss">订阅</a>
	<a id="blog_nav_rss_image" class="aHeaderXML" href="http://www.cnblogs.com/zy1987/rss"><img src="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/xml.gif" alt="订阅"></a></li>
</ul>


			<div class="blogStats">
				
				<div id="blog_stats">
<!--done-->
随笔- 28&nbsp;
文章- 0&nbsp;
评论- 92&nbsp;
</div>
				
			</div><!--end: blogStats -->
		</div><!--end: navigator 博客导航栏 -->
		
<div id="post_detail">
<!--done-->
<div id="topics">
	<div class="post">
		<h1 class="postTitle">
			<a id="cb_post_title_url" class="postTitle2" href="http://www.cnblogs.com/zy1987/p/3784753.html">编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别</a>
		</h1>
		<div class="clear"></div>
		<div class="postBody">
			<div id="cnblogs_post_body" class="blogpost-body"><p>最近在研究Python和Erlang。反复提到动态类型语言、动态语言、解释型语言这些概念。这些概念很生涩，在这里做一个总结。</p>
<p>&nbsp;</p>
<h2>编译型语言和解释型语言</h2>
<p><strong>1、编译型语言</strong></p>
<p>需通过编译器（compiler）将源代码编译成机器码，之后才能执行的语言。一般需经过编译（compile）、链接（linker）这两个步骤。编译是把源代码编译成机器码，链接是把各个模块的机器码和依赖库串连起来生成可执行文件。</p>
<p>优点：编译器一般会有预编译的过程对代码进行优化。<span>因为编译只做一次，运行时不需要编译，所以编译型语言的程序执行效率高</span>。可以脱离语言环境独立运行。</p>
<p>缺点：编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码，不同的操作系统之间移植就会有问题，需要根据运行的操作系统环境编译不同的可执行文件。</p>
<p>代表语言：C、C++、<span>Pascal、Object-C以及最近很火的苹果新语言swift</span></p>
<p><strong>2、解释型语言</strong></p>
<p>解释性语言的程序不需要编译，相比编译型语言省了道工序，解释性语言在运行程序的时候才逐行翻译。</p>
<p>优点：有良好的平台兼容性，在任何环境中都可以运行，前提是安装了解释器（虚拟机）。灵活，修改代码的时候直接修改就可以，可以快速部署，不用停机维护。</p>
<p>缺点：每次运行的时候都要解释一遍，性能上不如编译型语言。</p>
<p>代表语言：JavaScript、Python、Erlang、PHP、Perl、Ruby</p>
<p><strong>3、混合型语言</strong></p>
<p>既然编译型和解释型各有缺点就会有人想到把两种类型整合起来，取其精华去其糟粕。就出现了半编译型语言。比如C#,C#在编译的时候不是直接编译成机器码而是中间码，.NET平台提供了中间语言运行库运行中间码，中间语言运行库类似于Java虚拟机。.net在编译成IL代码后，保存在dll中，首次运行时由JIT在编译成机器码缓存在内存中，下次直接执行（博友回复指出）。我个人认为抛开一切的偏见C#是这个星球上最好的编程语言。可惜微软的政策限制了C#的推广。</p>
<p>Java先生成字节码再在Java虚拟机中解释执行。</p>
<p>严格来说混合型语言属于解释型语言。C#更接近编译型语言。</p>
<p>&nbsp;</p>
<h2><strong>动态语言和静态语言</strong></h2>
<p><strong>1、动态语言</strong></p>
<p>是一类在运行时可以改变其结构的语言：例如新的函数、对象、甚至代码可以被引进，已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构。</p>
<p>主要动态语言：Object-C、C#、JavaScript、PHP、Python、Erlang。</p>
<p><strong>2、静态语言</strong></p>
<p>与动态语言相对应的，运行时结构不可变的语言就是静态语言。如Java、C、C++。</p>
<p>&nbsp;</p>
<p><strong>3、注意：</strong></p>
<p>很多人认为解释型语言都是动态语言，这个观点是错的！Java是解释型语言但是不是动态语言，Java不能在运行的时候改变自己结构。反之成立吗？动态语言都是解释型语言。也是错的！Object-C是编译型语言，但是他是动态语言。得益于特有的run time机制（准确说run time不是语法特性是运行时环境，这里不展开）OC代码是可以在运行的时候插入、替换方法的。</p>
<p>C#也是动态语言，通过C#的反射机制可以动态的插入一段代码执行。所以我说C#是这个星球最好的编程语言。</p>
<p>&nbsp;</p>
<h2><strong>动态类型语言和静态类型语言</strong></h2>
<p><strong>1、动态类型语言</strong></p>
<p>很多网上资料把动态类型语言和动态语言混为一谈，简直是误人子弟。动态类型语言和动态语言是完全不同的两个概念。<span>动态类型语言是指在运行期间才去做数据类型检查的语言，说的是数据类型，动态语言说的是运行是改变结构，说的是代码结构。</span></p>
<p><span>动态类型语言的数据类型不是在编译阶段决定的，而是把类型绑定延后到了运行阶段。</span></p>
<p><span>主要语言：Python、Ruby、Erlang、JavaScript、swift、PHP、Perl。</span></p>
<p><strong>2、静态类型语言</strong></p>
<p><span><span>静态语言的数据类型是在编译其间确定的或者说运行之前确定的，编写代码的时候要明确确定变量的数据类型。</span></span></p>
<p><span><span>主要语言：C、C++、C#、Java、Object-C。</span></span></p>
<p><span><span><strong>3、注意：</strong></span></span></p>
<p><span><span>相当一部分程序员，也包括曾经的我，认为解释型语言都是动态类型语言，编译型语言都是静态类型语言。这个也是错的。swift是编译型语言但是它也是动态类型语言。C#和Java是解释型语言也是静态类型语言。</span></span></p>
<h2>强类型语言和弱类型语言</h2>
<p><strong>1、强类型语言：</strong></p>
<p><span>强类型语言，一旦一个变量被指定了某个数据类型，如果不经过强制类型转换，那么它就永远是这个数据类型。你不能把一个整形变量当成一个字符串来处理。</span></p>
<p><span>主要语言：Java、C#、Python、Object-C、Ruby</span></p>
<p><strong>2、弱类型语言：</strong></p>
<p>数据类型可以被忽略，一个变量可以赋不同数据类型的值。一旦给一个整型变量a赋一个字符串值，那么a就变成字符类型。</p>
<p>主要语言：JavaScript、PHP、C、C++（C和C++有争议，但是确实可以给一个字符变量赋整形值，可能初衷是强类型，形态上接近弱类型）</p>
<p><strong>3、注意：</strong></p>
<p>一个语言是不是强类型语言和是不是动态类型语言也没有必然联系。Python是动态类型语言，是强类型语言。JavaScript是动态类型语言，是弱类型语言。Java是静态类型语言，是强类型语言。</p>
<p>&nbsp;</p>
<p>如果我的理解有误，请在回复中不吝指出，谢谢。</p></div><div id="MySignature"></div>
<div class="clear"></div>
<div id="blog_post_info_block">
<div id="BlogPostCategory">分类: <a href="http://www.cnblogs.com/zy1987/category/670393.html" target="_blank">基础概念</a></div>
<div id="EntryTag">标签: <a href="http://www.cnblogs.com/zy1987/tag/%E7%BC%96%E8%AF%91%E5%9E%8B%E8%AF%AD%E8%A8%80/">编译型语言</a>, <a href="http://www.cnblogs.com/zy1987/tag/%E8%A7%A3%E9%87%8A%E5%9E%8B%E8%AF%AD%E8%A8%80/">解释型语言</a>, <a href="http://www.cnblogs.com/zy1987/tag/%E9%9D%99%E6%80%81%E7%B1%BB%E5%9E%8B%E8%AF%AD%E8%A8%80/">静态类型语言</a>, <a href="http://www.cnblogs.com/zy1987/tag/%E5%8A%A8%E6%80%81%E7%B1%BB%E5%9E%8B%E8%AF%AD%E8%A8%80/">动态类型语言</a>, <a href="http://www.cnblogs.com/zy1987/tag/%E5%BC%BA%E7%B1%BB%E5%9E%8B%E8%AF%AD%E8%A8%80/">强类型语言</a>, <a href="http://www.cnblogs.com/zy1987/tag/%E5%BC%B1%E7%B1%BB%E5%9E%8B%E8%AF%AD%E8%A8%80/">弱类型语言</a></div>
<div id="blog_post_info"><div id="green_channel">
        <a href="javascript:void(0);" id="green_channel_digg" onclick="DiggIt(3784753,cb_blogId,1);green_channel_success(this,&#39;谢谢推荐！&#39;);">好文要顶</a>
            <a id="green_channel_follow" onclick="follow(&#39;a0a292df-12b4-e011-8673-842b2b196315&#39;);" href="javascript:void(0);">关注我</a>
    <a id="green_channel_favorite" onclick="AddToWz(cb_entryId);return false;" href="javascript:void(0);">收藏该文</a>
    <a id="green_channel_weibo" href="javascript:void(0);" title="分享至新浪微博" onclick="ShareToTsina()"><img src="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/icon_weibo_24.png" alt=""></a>
    <a id="green_channel_wechat" href="javascript:void(0);" title="分享至微信" onclick="shareOnWechat()"><img src="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/wechat.png" alt=""></a>
</div>
<div id="author_profile">
    <div id="author_profile_info" class="author_profile_info">
            <a href="http://home.cnblogs.com/u/zy1987/" target="_blank"><img src="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/20140210102220.png" class="author_avatar" alt=""></a>
        <div id="author_profile_detail" class="author_profile_info">
            <a href="http://home.cnblogs.com/u/zy1987/">挽弓挽长</a><br>
            <a href="http://home.cnblogs.com/u/zy1987/followees">关注 - 8</a><br>
            <a href="http://home.cnblogs.com/u/zy1987/followers">粉丝 - 241</a>
        </div>
    </div>
    <div class="clear"></div>
    <div id="author_profile_honor"></div>
    <div id="author_profile_follow">
                <a href="javascript:void(0);" onclick="follow(&#39;a0a292df-12b4-e011-8673-842b2b196315&#39;);return false;">+加关注</a>
    </div>
</div>
<div id="div_digg">
    <div class="diggit" onclick="votePost(3784753,&#39;Digg&#39;)">
        <span class="diggnum" id="digg_count">2</span>
    </div>
    <div class="buryit" onclick="votePost(3784753,&#39;Bury&#39;)">
        <span class="burynum" id="bury_count">0</span>
    </div>
    <div class="clear"></div>
    <div class="diggword" id="digg_tips">
    </div>
</div>
<script type="text/javascript">
    currentDiggType = 0;
</script></div>
<div class="clear"></div>
<div id="post_next_prev"><a href="http://www.cnblogs.com/zy1987/p/3493747.html" class="p_n_p_prefix">« </a> 上一篇：<a href="http://www.cnblogs.com/zy1987/p/3493747.html" title="发布于2013-12-27 10:56">GDB命令</a><br><a href="http://www.cnblogs.com/zy1987/p/3788670.html" class="p_n_p_prefix">» </a> 下一篇：<a href="http://www.cnblogs.com/zy1987/p/3788670.html" title="发布于2014-06-14 20:42">函数式编程初窥</a><br></div>
</div>


		</div>
		<div class="postDesc">posted @ <span id="post-date">2014-06-12 21:55</span> <a href="http://www.cnblogs.com/zy1987/">挽弓挽长</a> 阅读(<span id="post_view_count">3231</span>) 评论(<span id="post_comment_count">11</span>)  <a href="https://i.cnblogs.com/EditPosts.aspx?postid=3784753" rel="nofollow">编辑</a> <a href="http://www.cnblogs.com/zy1987/p/3784753.html#" onclick="AddToWz(3784753);return false;">收藏</a></div>
	</div>
	<script type="text/javascript">var allowComments=true,cb_blogId=93310,cb_entryId=3784753,cb_blogApp=currentBlogApp,cb_blogUserGuid='a0a292df-12b4-e011-8673-842b2b196315',cb_entryCreatedDate='2014/6/12 21:55:00';loadViewCount(cb_entryId);var cb_postType=1;</script>
	
</div><!--end: topics 文章、评论容器-->
</div><a name="!comments"></a><div id="blog-comments-placeholder"><div id="comments_pager_top"></div>
<!--done-->
<br>
<div class="feedback_area_title">评论</div>
<div class="feedbackNoItems"></div>
	

		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<span class="comment_actions"></span>
				</div>
				<a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963378" class="layer">#1楼</a><a name="2963378" id="comment_anchor_2963378"></a> <span class="comment_date">2014-06-13 09:10</span> | <a id="a_comment_author_2963378" href="http://www.cnblogs.com/wanglao/" target="_blank">来碗板面</a> <a href="http://msg.cnblogs.com/send/%E6%9D%A5%E7%A2%97%E6%9D%BF%E9%9D%A2" title="发送站内短消息" class="sendMsg2This">&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<div id="comment_body_2963378" class="blog_comment_body">补充一下，.net在编译成IL代码后，保存在dll中，首次运行时由JIT在编译成机器码缓存在内存中，下次直接执行</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(2963378,&#39;Digg&#39;,this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(2963378,&#39;Bury&#39;,this)">反对(0)</a></div><span id="comment_2963378_avatar" style="display:none;">http://pic.cnblogs.com/face/511047/20140213174913.png</span>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<span class="comment_actions"></span>
				</div>
				<a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963380" class="layer">#2楼</a><a name="2963380" id="comment_anchor_2963380"></a> <span class="comment_date">2014-06-13 09:10</span> | <a id="a_comment_author_2963380" href="http://home.cnblogs.com/u/463032/" target="_blank">给力的妙淼</a> <a href="http://msg.cnblogs.com/send/%E7%BB%99%E5%8A%9B%E7%9A%84%E5%A6%99%E6%B7%BC" title="发送站内短消息" class="sendMsg2This">&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<div id="comment_body_2963380" class="blog_comment_body">对于楼主说这一部分：<br>2、静态类型语言<br>静态语言的数据类型是在编译其间确定的，写编写代码的时候要明确确定变量的数据类型。<br>主要语言：C、C++、C#、Java、Object-C。<br><br>其中c#是比较特殊的，在.netFramework4.0以后支持Dynamic类型，这块是不是改变了一部分c#的数据类型呢？</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(2963380,&#39;Digg&#39;,this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(2963380,&#39;Bury&#39;,this)">反对(0)</a></div>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<span class="comment_actions"></span>
				</div>
				<a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963387" class="layer">#3楼</a><a name="2963387" id="comment_anchor_2963387"></a> <span class="comment_date">2014-06-13 09:18</span> | <a id="a_comment_author_2963387" href="http://www.cnblogs.com/gxrsprite/" target="_blank">eflay</a> <a href="http://msg.cnblogs.com/send/eflay" title="发送站内短消息" class="sendMsg2This">&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<div id="comment_body_2963387" class="blog_comment_body">C#就是能静能动，能编译能解释。当然现在native不多。</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(2963387,&#39;Digg&#39;,this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(2963387,&#39;Bury&#39;,this)">反对(0)</a></div>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<span class="comment_actions"></span>
				</div>
				<a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963395" class="layer">#4楼</a><a name="2963395" id="comment_anchor_2963395"></a> <span class="comment_date">2014-06-13 09:25</span> | <a id="a_comment_author_2963395" href="http://www.cnblogs.com/gxrsprite/" target="_blank">eflay</a> <a href="http://msg.cnblogs.com/send/eflay" title="发送站内短消息" class="sendMsg2This">&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<div id="comment_body_2963395" class="blog_comment_body"><a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963380" title="查看所回复的评论" onclick="commentManager.renderComments(0,50,2963380);">@</a>
给力的妙淼<br>静态类型是说有明确类型的语言，比如定义int string ，反之则是js无法定义确切类型。</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(2963395,&#39;Digg&#39;,this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(2963395,&#39;Bury&#39;,this)">反对(0)</a></div>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<span class="comment_actions"></span>
				</div>
				<a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963406" class="layer">#5楼</a><a name="2963406" id="comment_anchor_2963406"></a>[<span class="louzhu">楼主</span>] <span class="comment_date">2014-06-13 09:34</span> | <a id="a_comment_author_2963406" href="http://www.cnblogs.com/zy1987/" target="_blank">挽弓挽长</a> <a href="http://msg.cnblogs.com/send/%E6%8C%BD%E5%BC%93%E6%8C%BD%E9%95%BF" title="发送站内短消息" class="sendMsg2This">&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<div id="comment_body_2963406" class="blog_comment_body"><a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963378" title="查看所回复的评论" onclick="commentManager.renderComments(0,50,2963378);">@</a>
来碗板面<br>soga,学习了</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(2963406,&#39;Digg&#39;,this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(2963406,&#39;Bury&#39;,this)">反对(0)</a></div><span id="comment_2963406_avatar" style="display:none;">http://pic.cnblogs.com/face/317650/20140210102220.png</span>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<span class="comment_actions"></span>
				</div>
				<a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963423" class="layer">#6楼</a><a name="2963423" id="comment_anchor_2963423"></a>[<span class="louzhu">楼主</span>] <span class="comment_date">2014-06-13 09:43</span> | <a id="a_comment_author_2963423" href="http://www.cnblogs.com/zy1987/" target="_blank">挽弓挽长</a> <a href="http://msg.cnblogs.com/send/%E6%8C%BD%E5%BC%93%E6%8C%BD%E9%95%BF" title="发送站内短消息" class="sendMsg2This">&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<div id="comment_body_2963423" class="blog_comment_body"><a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963380" title="查看所回复的评论" onclick="commentManager.renderComments(0,50,2963380);">@</a>
给力的妙淼<br><fieldset class="comment_quote"><legend><a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963380" title="查看引用原文">引用</a></legend>对于楼主说这一部分：<br>2、静态类型语言<br>静态语言的数据类型是在编译其间确定的，写编写代码的时候要明确确定变量的数据类型。<br>主要语言：C、C++、C#、Java、Object-C。<br><br>其中c#是比较特殊的，在.netFramework4.0以后支持Dynamic类型，这块是不是改变了一部分c#的数据类型呢？</fieldset><br><br>C#还是静态类型语言，因为在运行之前你就知道变量是Dynamic类型的了。Python的变量在运行之前你不知道它是int还是string，只有执行到那一行你才知道。<br><br>C#确实把语意的严谨性和编程的灵活性结合的很好的一门语言</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(2963423,&#39;Digg&#39;,this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(2963423,&#39;Bury&#39;,this)">反对(0)</a></div><span id="comment_2963423_avatar" style="display:none;">http://pic.cnblogs.com/face/317650/20140210102220.png</span>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<span class="comment_actions"></span>
				</div>
				<a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963567" class="layer">#7楼</a><a name="2963567" id="comment_anchor_2963567"></a> <span class="comment_date">2014-06-13 12:32</span> | <a id="a_comment_author_2963567" href="http://www.cnblogs.com/gxrsprite/" target="_blank">eflay</a> <a href="http://msg.cnblogs.com/send/eflay" title="发送站内短消息" class="sendMsg2This">&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<div id="comment_body_2963567" class="blog_comment_body"><a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963423" title="查看所回复的评论" onclick="commentManager.renderComments(0,50,2963423);">@</a>
挽弓挽长<br>dynamic是动态解析的啊，比如viewbag你什么时候知道他的类型了</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(2963567,&#39;Digg&#39;,this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(2963567,&#39;Bury&#39;,this)">反对(0)</a></div>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<span class="comment_actions"></span>
				</div>
				<a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963620" class="layer">#8楼</a><a name="2963620" id="comment_anchor_2963620"></a> <span class="comment_date">2014-06-13 13:47</span> | <a id="a_comment_author_2963620" href="http://www.cnblogs.com/gxrsprite/" target="_blank">eflay</a> <a href="http://msg.cnblogs.com/send/eflay" title="发送站内短消息" class="sendMsg2This">&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<div id="comment_body_2963620" class="blog_comment_body">C# 是编译型语言，比如monotouch，比如微软要做得native，C#是解释型语言，见 CS-Script，C#是静态类型语言，C#是动态类型语言，dynamic就是为了有真正的动态类型而做得。</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(2963620,&#39;Digg&#39;,this)">支持(1)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(2963620,&#39;Bury&#39;,this)">反对(0)</a></div>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<span class="comment_actions"></span>
				</div>
				<a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963625" class="layer">#9楼</a><a name="2963625" id="comment_anchor_2963625"></a> <span class="comment_date">2014-06-13 13:50</span> | <a id="a_comment_author_2963625" href="http://www.cnblogs.com/reavic/" target="_blank">reavics</a> <a href="http://msg.cnblogs.com/send/reavics" title="发送站内短消息" class="sendMsg2This">&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<div id="comment_body_2963625" class="blog_comment_body">高大上</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(2963625,&#39;Digg&#39;,this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(2963625,&#39;Bury&#39;,this)">反对(0)</a></div><span id="comment_2963625_avatar" style="display:none;">http://pic.cnblogs.com/face/97017/20140805162220.png</span>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<span class="comment_actions"></span>
				</div>
				<a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963629" class="layer">#10楼</a><a name="2963629" id="comment_anchor_2963629"></a>[<span class="louzhu">楼主</span>] <span class="comment_date">2014-06-13 14:00</span> | <a id="a_comment_author_2963629" href="http://www.cnblogs.com/zy1987/" target="_blank">挽弓挽长</a> <a href="http://msg.cnblogs.com/send/%E6%8C%BD%E5%BC%93%E6%8C%BD%E9%95%BF" title="发送站内短消息" class="sendMsg2This">&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<div id="comment_body_2963629" class="blog_comment_body"><a href="http://www.cnblogs.com/zy1987/p/3784753.html#2963567" title="查看所回复的评论" onclick="commentManager.renderComments(0,50,2963567);">@</a>
eflay<br>哦，也就是说C#引入了动态类型语言特性。</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(2963629,&#39;Digg&#39;,this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(2963629,&#39;Bury&#39;,this)">反对(0)</a></div><span id="comment_2963629_avatar" style="display:none;">http://pic.cnblogs.com/face/317650/20140210102220.png</span>
			</div>
		</div>
	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;<span class="comment_actions"></span>
				</div>
				<a href="http://www.cnblogs.com/zy1987/p/3784753.html#3742202" class="layer">#11楼</a><a name="3742202" id="comment_anchor_3742202"></a><span id="comment-maxId" style="display:none;">3742202</span><span id="comment-maxDate" style="display:none;">2017/7/24 15:49:27</span> <span class="comment_date">2017-07-24 15:49</span> | <a id="a_comment_author_3742202" href="http://www.cnblogs.com/cwhking/" target="_blank">不会凉的黄花菜</a> <a href="http://msg.cnblogs.com/send/%E4%B8%8D%E4%BC%9A%E5%87%89%E7%9A%84%E9%BB%84%E8%8A%B1%E8%8F%9C" title="发送站内短消息" class="sendMsg2This">&nbsp;</a>
			</div>
			<div class="feedbackCon">
				<div id="comment_body_3742202" class="blog_comment_body">谁告诉你Object-C是强类型了</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(3742202,&#39;Digg&#39;,this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(3742202,&#39;Bury&#39;,this)">反对(0)</a></div><span id="comment_3742202_avatar" style="display:none;">http://pic.cnblogs.com/face/460833/20141210135931.png</span>
			</div>
		</div>
	<div id="comments_pager_bottom"></div></div><script type="text/javascript">var commentManager = new blogCommentManager();commentManager.renderComments(0);</script>
<div id="comment_form" class="commentform">
<a name="commentform"></a>
<div id="divCommentShow"></div>
<div id="comment_nav"><span id="span_refresh_tips"></span><a href="javascript:void(0);" onclick="return RefreshCommentList();" id="lnk_RefreshComments" runat="server" clientidmode="Static">刷新评论</a><a href="http://www.cnblogs.com/zy1987/p/3784753.html#" onclick="return RefreshPage();">刷新页面</a><a href="http://www.cnblogs.com/zy1987/p/3784753.html#top">返回顶部</a></div>
<div id="comment_form_container"><div class="login_tips">注册用户登录后才能发表评论，请 <a rel="nofollow" href="javascript:void(0);" class="underline" onclick="return login(&#39;commentform&#39;);">登录</a> 或 <a rel="nofollow" href="javascript:void(0);" class="underline" onclick="return register();">注册</a>，<a href="http://www.cnblogs.com/">访问</a>网站首页。</div></div>
<div class="ad_text_commentbox" id="ad_text_under_commentbox"></div>
<div id="ad_t2"><a href="http://www.ucancode.com/index.htm" target="_blank">【推荐】超50万VC++源码: 大型组态工控、电力仿真CAD与GIS源码库！</a><br><a href="http://click.aliyun.com/m/43774/" target="_blank">【缅怀】传奇谢幕，回顾霍金76载传奇人生</a><br><a href="http://arction.cn/" target="_blank">【推荐】业界最快速.NET数据可视化图表组件</a><br><a href="https://cloud.tencent.com/act/campus?fromSource=gwzcw.860539.860539.860539" target="_blank">【推荐】腾讯云校园拼团福利，1核2G服务器10元/月！</a><br><a href="https://www.yunqi2050.com/#/index" target="_blank">【活动】2050 科技公益大会 - 年青人因科技而团聚</a><br></div>
<div id="opt_under_post"></div>
<div id="cnblogs_c1" class="c_ad_block"><a href="https://market.cloud.tencent.com/act/wangjian/mtscloudwj?fromSource=gwzcw.882665.882665.882665" target="_blank"><img width="300" height="250" src="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/24442-20180314220122373-1718033865.jpg" alt="qcloud0314"></a></div>
<div id="under_post_news"><div class="itnews c_ad_block"><b>最新IT新闻</b>:<br> ·  <a href="https://news.cnblogs.com/n/592341/" target="_blank">FTC对Facebook数据泄露展开调查 最高罚款2万亿美元</a><br> ·  <a href="https://news.cnblogs.com/n/592328/" target="_blank">谷歌证实：24亿美元收购纽约切尔西市场大楼</a><br> ·  <a href="https://news.cnblogs.com/n/592343/" target="_blank">360虚拟宠物“区块猫”已开放线上领取</a><br> ·  <a href="https://news.cnblogs.com/n/592342/" target="_blank">美国仍在使用大量老式投票机 遭黑客入侵无从查证</a><br> ·  <a href="https://news.cnblogs.com/n/592340/" target="_blank">再添戏码：特朗普前国师曾负责监管Facebook数据收集</a><br>» <a href="http://news.cnblogs.com/" title="IT新闻" target="_blank">更多新闻...</a></div></div>
<div id="cnblogs_c2" class="c_ad_block"><a href="http://click.aliyun.com/m/42835/" target="_blank"><img width="468" height="60" src="./编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别 - 挽弓挽长 - 博客园_files/TB1mEZFaWmWBuNjy1XaXXXCbXXa-468-60.jpg" alt="阿里云0308"></a></div>
<div id="under_post_kb"><div class="itnews c_ad_block" id="kb_block"><b>最新知识库文章</b>:<br><div id="kb_recent"> ·  <a href="http://kb.cnblogs.com/page/575255/" target="_blank">写给自学者的入门指南</a><br> ·  <a href="http://kb.cnblogs.com/page/578690/" target="_blank">和程序员谈恋爱</a><br> ·  <a href="http://kb.cnblogs.com/page/585734/" target="_blank">学会学习</a><br> ·  <a href="http://kb.cnblogs.com/page/588938/" target="_blank">优秀技术人的管理陷阱</a><br> ·  <a href="http://kb.cnblogs.com/page/590141/" target="_blank">作为一个程序员，数学对你到底有多重要</a><br></div>» <a href="http://kb.cnblogs.com/" target="_blank">更多知识库文章...</a></div></div>
<div id="HistoryToday" class="c_ad_block"></div>
<script type="text/javascript">
    fixPostBody();
    setTimeout(function () { incrementViewCount(cb_entryId); }, 50);
    deliverAdT2();
    deliverAdC1();
    deliverAdC2();    
    loadNewsAndKb();
    loadBlogSignature();
    LoadPostInfoBlock(cb_blogId, cb_entryId, cb_blogApp, cb_blogUserGuid);
    GetPrevNextPost(cb_entryId, cb_blogId, cb_entryCreatedDate, cb_postType);
    loadOptUnderPost();
    GetHistoryToday(cb_blogId, cb_blogApp, cb_entryCreatedDate);   
</script>
</div>


	</div><!--end: forFlow -->
	</div><!--end: mainContent 主体内容容器-->

	<div id="sideBar">
		<div id="sideBarMain">
			
<!--done-->
<div class="newsItem">
<h3 class="catListTitle">公告</h3>
	<div id="blog-news"><div id="profile_block">昵称：<a href="https://home.cnblogs.com/u/zy1987/">挽弓挽长</a><br>园龄：<a href="https://home.cnblogs.com/u/zy1987/" title="入园时间：2011-07-22">6年7个月</a><br>粉丝：<a href="https://home.cnblogs.com/u/zy1987/followers/">241</a><br>关注：<a href="https://home.cnblogs.com/u/zy1987/followees/">8</a><div id="p_b_follow"><a href="javascript:void(0);" onclick="follow(&#39;a0a292df-12b4-e011-8673-842b2b196315&#39;)">+加关注</a></div><script>getFollowStatus('a0a292df-12b4-e011-8673-842b2b196315')</script></div></div><script type="text/javascript">loadBlogNews();</script>
</div>

			<div id="calendar"><div id="blog-calendar" style=""><table id="blogCalendar" class="Cal" cellspacing="0" cellpadding="0" title="Calendar">
	<tbody><tr><td colspan="7"><table class="CalTitle" cellspacing="0">
		<tbody><tr><td class="CalNextPrev"><a href="javascript:void(0);" onclick="loadBlogCalendar(&#39;2018/02/01&#39;);return false;">&lt;</a></td><td align="center">2018年3月</td><td class="CalNextPrev" align="right"><a href="javascript:void(0);" onclick="loadBlogCalendar(&#39;2018/04/01&#39;);return false;">&gt;</a></td></tr>
	</tbody></table></td></tr><tr><th class="CalDayHeader" align="center" abbr="日" scope="col">日</th><th class="CalDayHeader" align="center" abbr="一" scope="col">一</th><th class="CalDayHeader" align="center" abbr="二" scope="col">二</th><th class="CalDayHeader" align="center" abbr="三" scope="col">三</th><th class="CalDayHeader" align="center" abbr="四" scope="col">四</th><th class="CalDayHeader" align="center" abbr="五" scope="col">五</th><th class="CalDayHeader" align="center" abbr="六" scope="col">六</th></tr><tr><td class="CalOtherMonthDay" align="center">25</td><td class="CalOtherMonthDay" align="center">26</td><td class="CalOtherMonthDay" align="center">27</td><td class="CalOtherMonthDay" align="center">28</td><td align="center">1</td><td align="center">2</td><td class="CalWeekendDay" align="center">3</td></tr><tr><td class="CalWeekendDay" align="center">4</td><td align="center">5</td><td align="center">6</td><td align="center">7</td><td align="center">8</td><td align="center">9</td><td class="CalWeekendDay" align="center">10</td></tr><tr><td class="CalWeekendDay" align="center">11</td><td align="center">12</td><td align="center">13</td><td align="center">14</td><td align="center">15</td><td align="center">16</td><td class="CalWeekendDay" align="center">17</td></tr><tr><td class="CalWeekendDay" align="center">18</td><td align="center">19</td><td align="center">20</td><td class="CalTodayDay" align="center">21</td><td align="center">22</td><td align="center">23</td><td class="CalWeekendDay" align="center">24</td></tr><tr><td class="CalWeekendDay" align="center">25</td><td align="center">26</td><td align="center">27</td><td align="center">28</td><td align="center">29</td><td align="center">30</td><td class="CalWeekendDay" align="center">31</td></tr><tr><td class="CalOtherMonthDay" align="center">1</td><td class="CalOtherMonthDay" align="center">2</td><td class="CalOtherMonthDay" align="center">3</td><td class="CalOtherMonthDay" align="center">4</td><td class="CalOtherMonthDay" align="center">5</td><td class="CalOtherMonthDay" align="center">6</td><td class="CalOtherMonthDay" align="center">7</td></tr>
</tbody></table></div><script type="text/javascript">loadBlogDefaultCalendar();</script></div>
			
			<div id="leftcontentcontainer">
				<div id="blog-sidecolumn"><div id="sidebar_search" class="sidebar-block">
<div id="sidebar_search" class="mySearch">
<h3 class="catListTitle">搜索</h3>
<div id="sidebar_search_box">
<div id="widget_my_zzk" class="div_my_zzk"><input type="text" id="q" onkeydown="return zzk_go_enter(event);" class="input_my_zzk">&nbsp;<input onclick="zzk_go()" type="button" value="找找看" id="btnZzk" class="btn_my_zzk"></div>
<div id="widget_my_google" class="div_my_zzk"><input type="text" name="google_q" id="google_q" onkeydown="return google_go_enter(event)" class="input_my_zzk">&nbsp;<input onclick="google_go()" type="button" value="谷歌搜索" class="btn_my_zzk"></div>
</div>
</div>

</div><div id="sidebar_shortcut" class="sidebar-block">
<div class="catListLink">
<h3 class="catListTitle">常用链接</h3>
<ul>
<li><a href="http://www.cnblogs.com/zy1987/p/" title="我的博客的随笔列表">我的随笔</a></li><li><a href="http://www.cnblogs.com/zy1987/MyComments.html" title="我发表过的评论列表">我的评论</a></li><li><a href="http://www.cnblogs.com/zy1987/OtherPosts.html" title="我评论过的随笔列表">我的参与</a></li><li><a href="http://www.cnblogs.com/zy1987/RecentComments.html" title="我的博客的评论列表">最新评论</a></li><li><a href="http://www.cnblogs.com/zy1987/tag/" title="我的博客的标签列表">我的标签</a></li>
<li><a id="itemListLink" onclick="this.blur();WarpClass(&#39;itemListLink&#39;, &#39;itemListLin_con&#39;);return false;" href="http://www.cnblogs.com/zy1987/p/3784753.html#">更多链接</a></li>
</ul>
<div id="itemListLin_con" style="display:none;">
<ul>

</ul>
</div>
</div></div><div id="sidebar_toptags" class="sidebar-block">
<div class="catListTag">
<h3 class="catListTitle">我的标签</h3>
<ul>
<li><a href="http://www.cnblogs.com/zy1987/tag/ios/">ios</a>(8)</li><li><a href="http://www.cnblogs.com/zy1987/tag/UIKit/">UIKit</a>(4)</li><li><a href="http://www.cnblogs.com/zy1987/tag/%E5%BC%80%E5%8F%91%E6%8A%80%E5%B7%A7/">开发技巧</a>(3)</li><li><a href="http://www.cnblogs.com/zy1987/tag/objective/">objective</a>(3)</li><li><a href="http://www.cnblogs.com/zy1987/tag/Objective-C/">Objective-C</a>(3)</li><li><a href="http://www.cnblogs.com/zy1987/tag/oc/">oc</a>(3)</li><li><a href="http://www.cnblogs.com/zy1987/tag/cocoa/">cocoa</a>(3)</li><li><a href="http://www.cnblogs.com/zy1987/tag/UIView/">UIView</a>(3)</li><li><a href="http://www.cnblogs.com/zy1987/tag/KVC/">KVC</a>(2)</li><li><a href="http://www.cnblogs.com/zy1987/tag/KVO/">KVO</a>(2)</li><li><a href="http://www.cnblogs.com/zy1987/tag/">更多</a></li>
</ul>
</div></div><div id="sidebar_categories">
<div class="catListPostCategory">
<h3 class="catListTitle">随笔分类</h3>

<ul>

<li><a id="CatList_LinkList_0_Link_0" href="http://www.cnblogs.com/zy1987/category/589561.html">iOS动画(1)</a> </li>

<li><a id="CatList_LinkList_0_Link_1" href="http://www.cnblogs.com/zy1987/category/496578.html">iOS开发(11)</a> </li>

<li><a id="CatList_LinkList_0_Link_2" href="http://www.cnblogs.com/zy1987/category/498427.html">iOS开发碎碎念(3)</a> </li>

<li><a id="CatList_LinkList_0_Link_3" href="http://www.cnblogs.com/zy1987/category/670391.html">工作经验(3)</a> </li>

<li><a id="CatList_LinkList_0_Link_4" href="http://www.cnblogs.com/zy1987/category/587695.html">函数式编程(2)</a> </li>

<li><a id="CatList_LinkList_0_Link_5" href="http://www.cnblogs.com/zy1987/category/670393.html">基础概念(2)</a> </li>

<li><a id="CatList_LinkList_0_Link_6" href="http://www.cnblogs.com/zy1987/category/496555.html">设计模式</a> </li>

<li><a id="CatList_LinkList_0_Link_7" href="http://www.cnblogs.com/zy1987/category/764761.html">视频开发(2)</a> </li>

<li><a id="CatList_LinkList_0_Link_8" href="http://www.cnblogs.com/zy1987/category/507941.html">杂谈(3)</a> </li>

</ul>

</div>

<div class="catListPostArchive">
<h3 class="catListTitle">随笔档案</h3>

<ul>

<li><a id="CatList_LinkList_1_Link_0" href="http://www.cnblogs.com/zy1987/archive/2016/02.html">2016年2月 (1)</a> </li>

<li><a id="CatList_LinkList_1_Link_1" href="http://www.cnblogs.com/zy1987/archive/2015/12.html">2015年12月 (2)</a> </li>

<li><a id="CatList_LinkList_1_Link_2" href="http://www.cnblogs.com/zy1987/archive/2015/07.html">2015年7月 (3)</a> </li>

<li><a id="CatList_LinkList_1_Link_3" href="http://www.cnblogs.com/zy1987/archive/2015/06.html">2015年6月 (1)</a> </li>

<li><a id="CatList_LinkList_1_Link_4" href="http://www.cnblogs.com/zy1987/archive/2015/05.html">2015年5月 (1)</a> </li>

<li><a id="CatList_LinkList_1_Link_5" href="http://www.cnblogs.com/zy1987/archive/2015/04.html">2015年4月 (2)</a> </li>

<li><a id="CatList_LinkList_1_Link_6" href="http://www.cnblogs.com/zy1987/archive/2015/03.html">2015年3月 (2)</a> </li>

<li><a id="CatList_LinkList_1_Link_7" href="http://www.cnblogs.com/zy1987/archive/2014/12.html">2014年12月 (1)</a> </li>

<li><a id="CatList_LinkList_1_Link_8" href="http://www.cnblogs.com/zy1987/archive/2014/06.html">2014年6月 (2)</a> </li>

<li><a id="CatList_LinkList_1_Link_9" href="http://www.cnblogs.com/zy1987/archive/2014/03.html">2014年3月 (3)</a> </li>

<li><a id="CatList_LinkList_1_Link_10" href="http://www.cnblogs.com/zy1987/archive/2013/12.html">2013年12月 (1)</a> </li>

<li><a id="CatList_LinkList_1_Link_11" href="http://www.cnblogs.com/zy1987/archive/2013/08.html">2013年8月 (3)</a> </li>

<li><a id="CatList_LinkList_1_Link_12" href="http://www.cnblogs.com/zy1987/archive/2013/07.html">2013年7月 (6)</a> </li>

</ul>

</div>

</div><div id="sidebar_recentcomments" class="sidebar-block"><div id="recent_comments_wrap">
<div class="catListComment">
<h3 class="catListTitle">最新评论</h3>

	<div id="RecentCommentsBlock"><ul>
        <li class="recent_comment_title"><a href="http://www.cnblogs.com/zy1987/p/3784753.html#3742202">1. Re:编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别</a></li>
        <li class="recent_comment_body">谁告诉你Object-C是强类型了</li>
        <li class="recent_comment_author">--不会凉的黄花菜</li>
        <li class="recent_comment_title"><a href="http://www.cnblogs.com/zy1987/p/4615698.html#3622053">2. Re:iOS经典面试题</a></li>
        <li class="recent_comment_body">怎么就没有后续内容了呢？感觉真的受益匪浅呀，很直白，很容易理解，赶紧更新吧！！！</li>
        <li class="recent_comment_author">--jenny_wqz</li>
        <li class="recent_comment_title"><a href="http://www.cnblogs.com/zy1987/p/4582466.html#3533583">3. Re:RunLoop 原理和核心机制</a></li>
        <li class="recent_comment_body">LZ,代码部分没有显示出来，是我网卡吗</li>
        <li class="recent_comment_author">--鼬殿</li>
        <li class="recent_comment_title"><a href="http://www.cnblogs.com/zy1987/p/4582466.html#3522467">4. Re:RunLoop 原理和核心机制</a></li>
        <li class="recent_comment_body">AFN里面的runloop 设置模式会影响到 主线程里面Scrollview的拖动事件嘛？主线程runloop在scrollview拖动时是UITrackingRunLoopMode模式，AFN里面是......</li>
        <li class="recent_comment_author">--( ^_^ )程序员</li>
        <li class="recent_comment_title"><a href="http://www.cnblogs.com/zy1987/p/3184129.html#3469378">5. Re:iOS学习笔记（1）— UIView 渲染和内容管理</a></li>
        <li class="recent_comment_body">好文，赞一个！</li>
        <li class="recent_comment_author">--艺叶亦华</li>
</ul>
</div>
</div>
</div></div><div id="sidebar_topviewedposts" class="sidebar-block"><div id="topview_posts_wrap">
<div class="catListView">
<h3 class="catListTitle">阅读排行榜</h3>
	<div id="TopViewPostsBlock"><ul><li><a href="http://www.cnblogs.com/zy1987/p/3195645.html">1. iOS学习笔记（2）— UIView用户事件响应(9418)</a></li><li><a href="http://www.cnblogs.com/zy1987/p/4616063.html">2. 深入理解 KVC\KVO 实现机制 — KVC(7274)</a></li><li><a href="http://www.cnblogs.com/zy1987/p/3604958.html">3. 腾讯、百度、阿里面试经验—（1）腾讯面经(6860)</a></li><li><a href="http://www.cnblogs.com/zy1987/p/3607255.html">4. 腾讯、百度、阿里面试经验—（3）阿里面经(6189)</a></li><li><a href="http://www.cnblogs.com/zy1987/p/4582466.html">5. RunLoop 原理和核心机制(5885)</a></li></ul></div>
</div>
</div></div><div id="sidebar_topcommentedposts" class="sidebar-block"><div id="topfeedback_posts_wrap">
<div class="catListFeedback">
<h3 class="catListTitle">评论排行榜</h3>
	<div id="TopFeedbackPostsBlock"><ul><li><a href="http://www.cnblogs.com/zy1987/p/3607255.html">1. 腾讯、百度、阿里面试经验—（3）阿里面经(23)</a></li><li><a href="http://www.cnblogs.com/zy1987/p/3604958.html">2. 腾讯、百度、阿里面试经验—（1）腾讯面经(18)</a></li><li><a href="http://www.cnblogs.com/zy1987/p/3784753.html">3. 编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别(11)</a></li><li><a href="http://www.cnblogs.com/zy1987/p/3605312.html">4. 腾讯、百度、阿里面试经验—（2）百度面经(10)</a></li><li><a href="http://www.cnblogs.com/zy1987/p/4615698.html">5. iOS经典面试题(8)</a></li></ul></div>
</div>
</div></div><div id="sidebar_topdiggedposts" class="sidebar-block"><div id="topdigg_posts_wrap">
<div class="catListView">
<h3 class="catListTitle">推荐排行榜</h3>
<div id="TopDiggPostsBlock"><ul><li><a href="http://www.cnblogs.com/zy1987/p/3607255.html">1. 腾讯、百度、阿里面试经验—（3）阿里面经(16)</a></li><li><a href="http://www.cnblogs.com/zy1987/p/4615698.html">2. iOS经典面试题(12)</a></li><li><a href="http://www.cnblogs.com/zy1987/p/3788670.html">3. 函数式编程初窥(8)</a></li><li><a href="http://www.cnblogs.com/zy1987/p/3254675.html">4. （转载）我们工作到底为了什么(5)</a></li><li><a href="http://www.cnblogs.com/zy1987/p/4582466.html">5. RunLoop 原理和核心机制(5)</a></li></ul></div>
</div></div></div></div><script type="text/javascript">loadBlogSideColumn();</script>
			</div>
			
		</div><!--end: sideBarMain -->
	</div><!--end: sideBar 侧边栏容器 -->
	<div class="clear"></div>
	</div><!--end: main -->
	<div class="clear"></div>
	<div id="footer">
		
<!--done-->
Copyright ©2018 挽弓挽长
	</div><!--end: footer -->
</div><!--end: home 自定义的最大容器 -->


<div id="download_plus_animation"></div></body></html>